﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LinkyPOS.Class
{
    class Siparisdetaylari:odemedurumu
    {

        linkDataContext ly = new linkDataContext();
        private int siparisdetID;
       
        private string sipariskodu;
        private int urunID;
        private string  marka;
        private string  renk;
        private string  aciklama;
        private double netfiyat;
        private int durum;
        private string tip;

        

        public int SiparisdetID { get { return siparisdetID; } set { siparisdetID = value; } }
       
        public string Sipariskodu { get { return sipariskodu; } set { sipariskodu = value; } }
        public int    UrunID { get { return urunID; } set { urunID = value; } }
        public string Marka { get { return marka; } set { marka = value; } }
        public string Renk { get { return renk; } set { renk = value; } }
        public string Aciklama { get { return aciklama; } set { aciklama = value; } }
        public string Tip { get { return tip; } set { tip = value; } }
        public double Netfiyat { get { return netfiyat; } set { netfiyat = value; } }
        public int Durum { get { return durum; } set {  durum = value; } }

        public Siparisdetaylari()
        { }

        // transaction mimarisinde kullanılacak sepete o siparişle ilgili olarak eklenen bir ürünün bilgisini ekliyor
        // eğer müşteri bilgisinin eklenmesi. Müşteriye ait sipariş bilgisinin eklenmesi ve siparişe dayalı sipariş detaylarının eklenmesi zincir işleminin herhangi bir boyutuynda kesinti yaşanırsa transaction ile bu tüm işlemler geri alınacak ve tekarar denenmesi istenecektir

        public  void detayekle()
        {
            try
            {

        
            siparisdetaylari spd = new siparisdetaylari()
            {
                sipariskodu = sipariskodu,
                urunID = urunID,
                marka = marka,
                renk = renk,
                aciklama = aciklama,
                netfiyat = netfiyat,
                tip = tip

            };

             ly.siparisdetaylaris.InsertOnSubmit(spd);
             ly.SubmitChanges();

            }
            catch (Exception d)
            {

                err2 err = new err2(d.ToString(), "Siparisdetaylari");

            }
       
        }

        // transaction mimarisinde kullanılacak işlenmiş bir detayın  eksik teslim iptal durumu veya çeiştli diğer senaryolar durumunda  durum bilgisinin netlenemsini sağlayan metod

 

           public  void tümdetayguncelle(int id)
        {
          
            string[] kolonlar = { "teslimdurum" };
            string[] degerler = { durum.ToString() };

             dataCUD.guncelle("siparisdetaylari", kolonlar, degerler, "siparisdetID", id.ToString());
            
          
        }
           public void kodagoreguncelle()
           {
               
               string[] kolonlar = { "teslimdurum" };
               string[] degerler = { durum.ToString() };

               dataCUD.guncelle("siparisdetaylari", kolonlar, degerler, "sipariskodu",sipariskodu);
               
           }

      
        
        }


       
    }

